package com.baofu.paycore.service.facade.model.authconfirm;

import com.baofu.paycore.service.facade.model.PayBaseDTO;
import com.baofu.paycore.service.facade.model.pay.FundDetailInfoDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * 预授权确认
 *
 * @author LZQ
 * @version 1.0.0 createTime: 14/12/9 上午11:11
 */
@Getter
@Setter
@ToString(callSuper = true)
public class AuthConfirmDTO extends PayBaseDTO {

    private static final long serialVersionUID = -3446710966463691995L;

    /**
     *原预授权支付号
     */
    @NotBlank(message = "原预授权支付号不能为空")
    @Pattern(regexp = "[0-9]{20,32}",message = "原预授权支付号格式有误")
    private String origPayNo;

    /**
     * 入账账号
     */
    @NotBlank(message = "入账账号不能为空")
    private String payee;

    /**
     * 确认模式
     */
    @NotBlank(message = "确认模式不能为空")
    private String confirmMode;

    /**
     * 资金渠道信息
     */
    @NotNull(message = "资金处理单不能空")
    @Valid
    private FundDetailInfoDTO fundDetailInfoDTO;
}
